/*
    试题名称：平方之和
    时间限制：1.0 s
    内存限制：512.0 MB
  1.1 题面描述
    小杨有n个正整数 A1, A2, A3, ... , An，他想知道对于所有的i (1 <= i <= n)，
    是否存在两个正整数 x和 y满足 x*x + y*y = Ai。
  1.2 输入格式
    第一行包含一个正整数n，代表正整数数量。
    之后 n行，每行包含一个正整数，代表Ai。
  1.3 输出格式
    对于每个正整数Ai ，如果存在两个正整数 x和y 满足 x*x + y*y =Ai，输出 Yes，否则输出 No。
  1.4 样例1
    输入:
      2
      5
      4
    输出:
      Yes
      No
  1.5 样例解释
    对于第一个正整数，存在 1*1 + 2*2 = 5 ，因此答案为 Yes。
  1.6 数据范围
    对于全部数据，保证有 1 <= n <= 10, 1 <= Ai <= 10*10*10*10*10*10。
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;
    int a[15] = {};

    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    for (int i = 1; i <= n; i++) {
        bool ai = true;
        for (int j = 1; j * j <= a[i]; j++) { // 注意: 这里的循环比较条件经过优化，减少循环次数!
            for (int k = 1; k * k + j * j <= a[i]; k++) { // 注意: 这里的循环比较条件经过优化，以减少循环次数!
                if (j * j + k * k == a[i]) {
                    cout << "Yes" << endl;
                    ai = false;
                    break;
                }
            }
            if (ai == false) {
                break;
            }
        }
        if (ai == true) {
            cout << "No";
        }
    }

    return 0;
}